package com.tan.androidtest.activity;

import android.telephony.SmsManager;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.widget.TextView;

import com.tan.androidtest.R;
import com.tan.androidtest.base.BaseActivity;

import java.util.ArrayList;

/**
 * Created by tjx on 2018/4/3.
 * 测试发送短信
 */

public class TestSendSMSActivity extends BaseActivity {

    @Override
    public int initLayoutId() {
        return R.layout.activity_test_send_sms_layout;
    }

    @Override
    public void initTitle(TextView tv_bar_left, TextView tv_bar_title, TextView tv_bar_right) {
        tv_bar_title.setText("测试发送短信");
    }

    @Override
    public void initView() {
        TextView tv_test = findViewById(R.id.tv_test);
        tv_test.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                sendSMS();
            }
        });
    }

    @Override
    public void initData() {

    }

    /**
     * 发送短信
     */
    private void sendSMS() {
        DisplayMetrics displayMetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
        int screenWidth = displayMetrics.widthPixels;
        int screenHeight = displayMetrics.heightPixels;
        Log.i("==--", "宽: " + screenWidth);
        Log.i("==--", "高: " + screenHeight);
        //1、创建意图
//        Intent intentFinalMessage = new Intent(Intent.ACTION_VIEW);
//        //2、设置类型
//        intentFinalMessage.setType("vnd.android-dir/mms-sms");
//        //3、打开系统短信界面
//        startActivity(intentFinalMessage);
        //方式三：调用系统的发送短信的界面，不需要输入号码
        //1、创建Uri，设置行为和号码
//        Uri uri2 = Uri.parse("smsto:" + 10086);
//        //2、创建意图。
//        Intent intentMessage = new Intent(Intent.ACTION_VIEW, uri2);
//        //3、打开系统短信界面，号码已经填写，只需填写要发送
//        startActivity(intentMessage);


        //------------貌似不行-----------
//        方式一：直接发送短信
//        1、添加发送短信的权限在manifast文件中。
//         <uses-permission android:name="android.permission.SEND_SMS"/>
//        2、获取android.telephony.SmsManager对象（PS:android.telephony.gsm.SmsManager已经废弃）。
        SmsManager smsManager = SmsManager.getDefault();
        // 3、声明一个短信内容的常量。
        String content = "Hello World!";
        //4、将短信内容分块，发送一条短信最多能够发送70个中文字符，超过这个值系统会将短信内容分为多块进行发送。
        ArrayList<String> list = smsManager.divideMessage(content);
        //5、分条进行发送。
        smsManager.sendTextMessage("10086", null, content, null, null);
    }


}
